package suanfa;

public class maxwater {
    // 给定一个长度为 n 的整数数组 height （y轴的高度）。木桶原理
    // 有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
    //找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。
    //返回容器可以储存的最大水量。
    //假设[1,8,6,2,5,4,8,3,7]，任取两个端点[1，7]，则这两个的容积为1*（7-1）=6、
    //假设向里面取，[1，3]则一定比[1,7]要小，因为距离一直在减小，高度一直为1
    //所以每次更新将高度小的值进行移动，应该取[2，8]才能进行比较
    public int maxArea(int[] height) {
        int left=0,right=height.length-1,num=0;
        while(left<right){
            int v=Math.min(height[left],height[right])*(right-left);
            num=Math.max(num,v);
            if(height[left]<height[right]) left++;
            else right--;
        }
        return num;
    }
}
